package main
import "fmt"
func f1() int{
	x:=5
	defer func(){
		x++
	}()
	return x
}
func f2()(x int){
	// x:=5
	defer func(){
		x++
	}()
	return x
}
func f3(y int)int{
	x:=5
	defer func(){
		x++
	}()
	return x
}
func f4()(x int){
	defer func(x int){
		x++
	}(x)
	return x
}
func main(){
	fmt.Println(f1())
	fmt.Println(f2())
	fmt.Println(f3(2))
	fmt.Println(f4())
}